<template>
	<view style="height: 100%;">
		<!-- 上面部分的view -->
		<view class="top_view">
			<view style="display: flex; align-items: center;">
				<img :src="user.header" style="width: 200rpx; height: 200rpx; margin-right: 40rpx; border-radius: 100rpx; 	box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);"/>
				<text>{{user.nickname}}</text>
			</view>
			<button style="margin: 0px; width: auto;" class="btn_cls" @click="logout()">切换用户</button>
		</view>
		<!-- 下面的列表部分 -->
		<view class="bottom_view">
			
			<view class="my_list" @click="goPage('/pages/searchfriends/searchfriends')">
				添加好友
			</view>
			<view class="my_list" @click="goPage('/pages/queryrequest/queryrequest')">
				<uni-badge size="small" :text="reqnum" absolute="rightTop" type="error">
					我的申请
				</uni-badge>
			</view>
			<view class="my_list">
				我的钱包
			</view>
			<view class="my_list">
				我的运动
			</view>
			<view class="my_list">
				我的收藏
			</view>
			<view class="my_list">
				安全设置
			</view>
			
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				user: {
					header: "/static/header.jpeg",
					nickname: "昵称"
				},
				//待处理的请求数量
				reqnum: 0,
				//延迟器的对象
				timeout: null
			}
		},
		//页面加载时触发
		onLoad() {
			//读取登录的用户信息并且展示
			if(this.$.isLogin()) {
				//获取用户信息
				var userInfo = this.$.getUserInfo();
				//设置参数
				if(userInfo.header){
					this.user.header = this.$.getImg(userInfo.header);
				}
				console.log("用户的令牌信息：", userInfo);
				
				this.user.nickname = userInfo.nickname;
			}
			
			//查询当前的用户待处理的申请数量
			this.queryReqNum();
		},
		//页面被卸载时触发
		onUnload(){
			clearTimeout(this.timeout);
		},
		methods: {
			//切换用户
			logout(){
				//删除本地的令牌，跳转到登录页
				uni.removeStorageSync("login_token");
				//跳转到登录页
				uni.reLaunch({
					url: "/pages/login/login"
				})
			},
			//跳转到搜索好友的页面
			goPage(url){
				uni.navigateTo({
					url: url
				})
			},
			//请求当前用户待处理的申请数量
			queryReqNum(){
				this.$.ajax({
					url: "/friendRequest/query2MeRequestNum",
					success: (num) => {
						this.reqnum = num;
					}
				});
				
				//设置一个延迟器
				this.timeout = setTimeout(() => {
					//再次执行这个查询
					this.queryReqNum();
				}, 10000);
			}
		}
	}
</script>

<style>
	.top_view {
		height: 300rpx;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 0 50rpx;
	}
	
	.bottom_view {
		height: 100%;
	}
	
	.my_list {
		height: auto;
		margin: 20rpx 40rpx;
		padding: 20rpx 30rpx;
		border-radius: 10rpx;
		box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
	}
</style>
